package se19team1e.entity;

import se19team1e.dao.abstrakt.generics.DataTransferObject;
import se19team1e.util.ReflectionUtils;

/**
 * Represents a company in the system.
 * 
 * @author Nasri Bin Najib
 *
 */
@SuppressWarnings("serial")
public class CompanyDTO implements DataTransferObject<CompanyDTO> {

    /**
     * Company object id.
     */
    private String id;
    
    /**
     * Company name.
     */
    private String name;

    /**
     * Company description.
     */
    private String description;
    
    private boolean deleted;

    /**
     * Sets the new company object id.
     * @param id New company object id.
     */
    public void setId( String id ) {
        this.id = id;
    }

    /**
     * Gets the Company full name.
     * @return Company full name.
     */
    public String getName() {
        return name;
    }

    /**
     * Sets the new Company full name.
     * @param name New Company full name.
     */
    public void setName( String name ) {
        this.name = name;
    }

    /**
     * Gets the Company description.
     * @return Company description.
     */
    public String getDescription() {
        return description;
    }

    /**
     * Sets the new Company description.
     * @param description New Company description.
     */
    public void setDescription( String description ) {
        this.description = description;
    }


	@Override
	public void setDeleted(boolean deleted) {
		this.deleted = deleted;
	}
	
	@Override
	public boolean isDeleted() {
		return deleted;
	}

	@Override
	public void setId(Object id) {
		this.id=(String) id;
	}
	
	@Override
	public String getId() {
		return id;
	}

	@Override
	public String toString() {
		return (ReflectionUtils.toString(this));
	}
}
